Logo (klik voor homepage)
 
!HID User Manual - WimpKey

Opening the 'Edit key definition' window
Any key assignment may be entered or changed in the Edit key window shown here. This window can be opened in a variety of ways:

  1. By double clicking a line in the Keyboard window.
  2. By pressing Enter on a selected line in the Keyboard window.
  3. Via the menu in the Keyboard window. Select Edit -> Edit line 'n'.
  4. By adding a new line (B, T, I, or the menu).
  5. By dropping an application in the Keyboard window.
  6. By pressing a new special key (if pop-up is enabled).
  
Edit key window

Keyboard short-cuts in the 'Edit key' window
Key Name Description
Esc Cancel Close the window and lose all changes
L Learn Enter (or cancel) learn mode.
P Toggle Path Toggle the Path field between a system variable and the full path name (if possible)
F1 Manual Enter the first page of the on-line manual
F3 OK Confirm changes and close this window
F1 Edit key manual Show detailed information about the features in this window.
Enter Next field Select the next field when in Learn mode.
Space Toggle option Toggle an option (on or off) when in Learn mode.
Editing a key definition
All parameters of a key assignment can be altered and set in this window. The window is divided in three sections, each presenting a specific set of information. At the bottom of the window are the buttons and below the buttons is the Help text. Whenever Learn mode is enganged, the Help section will guide your through the process.

The upper part of the window describes the key you've pressed. Each key produces a KeyCode, which is represented here as an 8-digit hexadecimal number. The hexadecimal number is constructed of 4 individual parameters which together describes the usage of the key. The modifier keys (Control, Shift, Alt and GUI) can be used to expand the range of possible KeyCodes and you may note that you can even discriminate the Left modifier keys from the Right ones.   
The 4 individual parameters have each been given a different colour so that it will be easier to understand how the KeyCode number is built. Please not that menu have been added to make it possible to select any pre-defined key. Please note that these menus are built 'on the fly' from the USB definition files, which may take a second or so.
 The KeyCode in more detail

The middle section of the window allows you to link the KeyCode to a specific device. This can be done by defining the DeviceID code for that device, the PortID (the USB socket to which the device is connected), or a combination of these two.   
Ticking Device allows you to link the KeyCode to a specific brand and model keyboard. If you know the DeviceID, you may type it directly in the number field at the right hand side. If the device is currently connected to your computer, you may also select the required device by clicking the menu-icon to the right of the number field. A menu will show all currently connected HID devices.
 DeviceID in more detail

Ticking Port allows you to link the KeyCode to a specific USB socket. This method is slightly more complex as the above one, so it is unticked by default. There are two ways to link to a specific USB socket: by specifying the absolute port number, or by specifying the relative port number.

Port - Hardware port number
Selecting Hardware port number allows you to enter the absolute port number. This means that the KeyCode will be linked to that specific hardware USB socket. You may use the menu-icon to the right of the PortID to select a currently connected device. Please note that, if you use this method, you should always leave your keyboard connected to the same USB socket. Also note that, if Device is also ticked, you have to be certain that both conditions are true. In other words: the specified DeviceID should be connected to the specified PortID. Alternatively, untick Device, or use the Port Index instead (see below}.
 The PortID in more detail

Port - Index
This method can only be used in combination with the DeviceID above and allows you to specify the relative port number, or Index of the port. This method is particularly useful if you have two or more identical keyboards connected. The keyboard with the lowest PortID will be given Index 0. THe next one will be 1 and so on. Use the menu to select the required Index.

The lower part of the window is used to specify the required action. The first field is used to select the action from a menu. An icon to the right of the field will show the selected action. Two more fields are available (shown here as Task and Path) the contents of which varies between actions.   
In the example shown here, the Action Launch application is selected. The bottom field holds the Path to the application, whilst the middle field contains the name of the Task. Other Actions will use these fields for different parameters. The Actions are described in more detail below.

Learn mode
Setting up a KeyCode, a DeviceID and an Action can be a complicated task. To take the pain out of this whole exersice, a Learn mode has been implemented, which will take you through the process step-by-step.

Click the Learn button or use the key combination Control-L to engage the Learn mode. Whilst in Learn mode, the Learn button at the bottom of the window will flash. The first field will be highlighted by a red rectangle and the Help text at the bottom of the window will guide you through the process.

Press Enter to move to the next field if you don't want to change this field. The space bar may be use to toggle an option switch.
  

Actions in more detail
A selection of Actions is available and each key may be assigned its own Action. The section below describes each Action in detail. The following Actions are currently available:

  1. Launch application
  2. Execute file
  3. Command
  4. Goto URL
  5. Key Number(s)
  6. Text sequence
  7. WIMP Key code
  8. Media Control

1. Launch Application
   !HID allows you to start any application from a single key press. The application will be started as if it was double-clicked. If the application is already running, !HID will try to issue a Select-click (i.e. left mouse button click) on the application's icon in the iconbar. For this to work correctly, !HID needs to know not only the Path to the application, but also the Task name.

Task name
The Task name is the name by which the application is known by the window manager when it is running. There are several ways to find out what name that is:

  1. You may drag the application directly into this window. The path name will already be filled in correctly and !HID will make a guess about the task name. In most cases the guessed name will be correct, but is some cases it won't. This is e.g. the case with Impression, which has 'Impression Publisher' as its task name.
  2. Make sure that the application is running and press the menu icon to the right of the Task field. A menu containing all currently running tasks will be shown. Select your application from the menu.
  3. If you are uncertain about the task's name, you might want to use the Learn mode. Make sure your application is running and click the Learn button. Press Enter a number of times until the Task field is highlighted. Now move the mouse pointer over the required task and press Enter again.
  4. As a last resort you may enter the task name manually. This can be useful if you haven't got the application at hand when editing the keyboard list in !HID. Please ensure that you know the exact task name, which is case-sensitive and may contain spaces.
If you want to force an application to be restarted even when it is already running, you may leave this field blank. This would however mean that the application gets restarted each time you press the key. E.g. if you want the Iyonix Update Watcher to appear in the iconbar, you need to leave this field blank. The reason for this is that the update watcher is already running as an invisible task.

Path name
A very important field when launching an application is the exact path to the program. You may type the path name manually or drag an application into this window. Once the path is set, !HID knows where to find your application. This would normally mean that you are not free to move your application to another location, without telling !HID. However, when dragging your application directly into the window, !HID will look for a system variable containing the path and, if it exists, use that in preference. E.g. if you have a program called !USBinfo in the Utilities folder, the full path to that application would be something like: ADFS::MyDisc.Utilities.!USBinfo. As the appliction has also setup a system variable pointing to that path, !HID will use <USBinfo$Dir> instead.

You may switch between the two methods at any time by clicking the Toggle path button at the bottom of the window.

If you want to launch an application that is permanently running and might not have a path, such as the Filer, you may leave this field blank.

2. Execute file
   In some cases you may want to issue a more complex sequence of events. E.g. you might want to start a series of applications with a single key stroke. In such cases you would place the commands to launch each application in an Obey file and launch the Obey file from !HID.

Technically speaking, !HID issues a Filer_Run command to lauch the file. This means that it could be used on any type of file, not just Obey files. Issuing a Filer_Run command has the same effect as double clicking a file in a filer window. This is best illustrated in the following example. Assume you would like to collect your e-mail by pressing GUI-M but you need several programs to be launched for that. Use your favorite text editor to create an Obey file and put it in a convenient place, e.g. ADFS::4.$.Internet.Launch. The file would contain a number of commands to launch the various applications, e.g.:

    Filer_Run adfs::4.$.Internet.!Messenger
    Filer_Run adfs::4.$.Internet.!NetFetch
    Filer_Run adfs::4.$.Internet.!AntiSpam

3. Command
   This Action allows you to execute a *Command as if it was typed from the command line (CLI). !HID will execute your command with a SWI call XOS_CLI, which allows any errors to be suppressed. The advantage of this method is that it can also be used outside of the desktop.

CLI commands (often called *-commands) can be used for a variety of things. Just an example to illustrate this. Most wheel mice only have a single scroll wheel, which would be used to scroll vertically. Assume you want to use one of the extra mouse buttons (say, button 4) to toggle the use of the scroll wheel between horizontal and vertical movement. You would then enter the command: USBHID_SwapWheels. That's all.

4. Goto URL
   As most computers have access to the Internet these days, you might want to setup some key strokes or key combinations to quickly access your preferred websites. Select the Action Goto URL and enter the required URL in the text field below it.

Launching a URL will cause the current browser to open the requested page. If the browser isn't currently running, the software will try to start it first. Rather that opening a URL, you may also use this Action e.g. to open an e-mail or access an FTP site. Some examples:

    www.xat.nl
    http://www.google.com
    ftp://www.riscos.com
    mailto:usb@xat.nl

5. Key numbers
   Whenever a key is pressed on the keyboard, the keyboard generates a ScanCode. The ScanCode is translated by the keyboard driver into an internal key number (often referred to as the IntKey number). The IntKey number is then converted into an appropriate character by the International Keyboard Driver, which might be different for each language.

Under some circumstances you may wish to enter an IntKey code directly, which is possible by selecting Key number(s) from the Action menu. Next enter the required IntKey number on the bottom line. Multiple IntKey numbers may be entered by separating them with spaces. Hexadecimal numbers may be entered by preceeding them with an & sign. The advantage of using IntKey numbers, as opposed to any of the other actions below, is that they can also be used outside of the desktop (e.g. from the command line).

For each key number entered, the software will generate a key down event (as if the keys were pressed) and 10 ms later the keys will be released.

6. Text sequence
   Any sequence of printable characters may be entered with a single key press. To do this, select Action Text sequence from the menu and type the required text on the bottom line (marked text). Any control characters should be preceeded by a '|' character. Accented characters are allowed in the text sequence.

So, if you want to enter, say, a Cariage Return (CR) character in the middle of the text sequence, you should enter '|M'. Het latter means: Control-M, which is the ASCII code for a Cariage Return. If you would enter, for example:

Best regards,|MRené Thomson|M

This would be printed at the text cursor like this:

Best regards,
René Thomson

7. WIMP key codes
   The RISC OS window environment (WIMP) uses different codes to send to an application, to allow for more than 256 keys to be processed. This way complex key combinations, such as Ctrl-Shift-F4 can be used by an application. If you want to send such codes to the current application, select Action Wimp key codes from the menu. For example: if you want to open a command line window, you should enter 492 which is the WIMP key code for Ctrl-F12.

Please note that you can only enter one such code in this way. Any other text you enter on the bottom line will be ignored. This might be useful for adding a meaningful comment to the code, e.g.: 492 (Ctrl-F12). If you add a comment to the line, please ensure that there is at least one space after the initial code. Click the menu icon to the right of the text field to open a list of special WIMP key codes that you may want to select directly.

8. edia Control
   This action may be quite useful if you want to control a media player, such as the CD player in your computer. The method of control can be set in Choices... Support for CD control is highly optimised in order to make the keys more responsive. E.g. if you rotate the volume control on the keyboard, this will have an instant effect on the audio volume of your CD. No delay will be noticable.

CD controls
When the action Media Control is selected, the text field at the bottom of the window will be replaced by a menu. Select the required Control function from this menu. One of the icons shown above will be displayed to the right of the Action field.
 Configuring Media Control

Related subjects

Klik voor homepage © Copyright Paul Reuvers X-Ample Technology bv  usb@xat.nl Last changed: Last changed: Thursday, 12 August 2004 - 11:36 CET.